package IMIC.NGUYENVANDOAN.OOP.CONTENT04;

import java.util.ArrayList;
import java.util.List;

public class VIEWS {
    public static void main(String[] args) {
        // 1. Thực hiện thêm dữ liệu vào mảng động 2 chiều kiểu Double
        // new VIEWS().Add();
        List<List<Double>> lisResult = Add();

        // 2. Hiển thị dữ liệu trong mảng động
        PrintInfo(lisResult);

        // 3. Khai báo & khởi tạo đối tượng Controllers
        CONTROLLERS objController = new CONTROLLERS();

        // 4. Ủy quyền thực thi nghiệp vụ tính tổng giá trị trong mảng động 2
        // chiều
        double dTotal = objController.ExecOfTotalElement(lisResult);
        System.out.println("Total = " + dTotal);
    }

    static List<List<Double>> Add() {
        // 1. Khai báo mảng động 2 chiều
        List<List<Double>> lisDouble = new ArrayList<List<Double>>();
        List<Double> lis01 = new ArrayList<>();
        lis01.add(6.5);
        lis01.add(7.5);
        lis01.add(8.5);

        List<Double> lis02 = new ArrayList<>();
        lis02.add(9.5);
        lis02.add(10.0);
        lis02.add(5.5);

        // 2. Đưa các mảng con vào trong mảng cha 2 chiều
        lisDouble.add(lis01);
        lisDouble.add(lis02);
        return lisDouble;
    }

    static void PrintInfo(List<List<Double>> lisDouble) {
        for (int i = 0; i < lisDouble.size(); i++)
            for (int j = 0; j < lisDouble.get(i).size(); j++) {
                System.out.println("lisDouble[" + i + "][" + j + "] = " + lisDouble.get(i).get(j));
            }
    }
}
